package com.zy.集合.常用方法.集合计算初级函数

object Test {

  def main(args: Array[String]): Unit = {

    // 简单函数 语义明确 调用简单

    val list1: List[Int] = List[Int](1, -2, 2, 3, -3)
    val list2: List[(String, Int)] = List[(String, Int)](("a", 1), ("b", 6), ("c", 1), ("d", 5))
    // 求和
    println(list1.sum)

    // 乘积
    println(list1.product)

    // 最大值
    println(list1.max)
    // 最大值自定义比较器 按照元组第二个元素取最大值
    println(list2.maxBy(_._2))

    // 最小值
    println(list1.min)

    // 排序
    println(list1.sorted)
    println(list1.sorted(Ordering.Int.reverse)) // 倒序排序
    println(list2.sortBy(_._2)) // println(list2.sortBy(_._2)(Ordering.Int.reverse))
    println(list2.sortWith((a, b) => // 倒序
      b._2 < a._2
    ))
  }
}
